package modelo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class OrdenDAO {

	public OrdenDAO() {
		super();
	}
	public void incluirOrden(Orden orden){
		String tiraSQL = "insert into ordenes (fecha, cantidad, cedcliente, codproducto)" +
				"values ('"+orden.getFecha()+"','"+orden.getCantidad()+"','"+orden.getCliente().getCedula()+"','"+orden.getProducto().getCodP()+"')";
		Conexion.ejecutar(tiraSQL);
	}
	public List<Orden> consultarOrdenes(){
		List<Orden> ordenes = new ArrayList<Orden>();
		String tiraSQL = "select * from ordenes";
		ResultSet resultSet=Conexion.consultar(tiraSQL);
		try{
			while(resultSet.next()){
				int codO =resultSet.getInt("codo");
				long codCliente = Long.parseLong(resultSet.getString("cedcliente"));
				int codProducto=resultSet.getInt("codproducto");
				float cant = new Float(resultSet.getString("cantidad"));
				Date fecha = resultSet.getDate("fecha");
				ProductoDAO productoDAO = new ProductoDAO();
				Producto producto = productoDAO.getProductoPorCodigo(codProducto);
				ClienteDAO clienteDAO = new ClienteDAO();
				Cliente cliente = clienteDAO.getClientePorCedula(codCliente);
				Orden orden = new Orden(codO, cliente, producto, fecha, cant);
				ordenes.add(orden);	
			}
		}catch(SQLException e){
			e.printStackTrace();
		}
		return ordenes;
	}
}
